﻿using System;
using System.ServiceModel;
using Ayatta.Contract.Domain;
using System.Collections.Generic;

namespace Ayatta.Contract
{
    [ServiceContract(Namespace = ServiceContract.Namespace)]
    public interface IExtraService : IService
    {

        #region AuthSms

        [OperationContract]
        bool AuthSmsCreate(AuthSms o);

        [OperationContract]
        void AuthSmsStatusUpdate(string id);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="id"></param>
        /// <param name="mobile"></param>
        /// <param name="group">0为注册验证码 1为手机绑定验证 2为通过手机重置密码验证</param>
        /// <param name="code"></param>
        /// <returns></returns>
        [OperationContract]
        AuthSms AuthSmsGet(string id, string mobile, int? group = null, string code = null);

        #endregion

        #region AuthEmail

        [OperationContract]
        bool AuthEmailCreate(AuthEmail o);

        [OperationContract]
        void AuthEmailStatusUpdate(string id);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="id"></param>
        /// <param name="group">0为注册验证 1为邮箱绑定验证 2为通过邮箱重置密码验证</param>
        /// <returns></returns>
        [OperationContract]
        AuthEmail AuthEmailGet(string id, int? group = null);

        #endregion

    }
}
